﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

namespace SultanModLoader
{
    internal class ModLoadInfo
    {

        /// <summary>
        /// 是否启用Mod加载器
        /// </summary>
        public bool Enable = true;
        /// <summary>
        /// Mod加载列表
        /// </summary>
        public List<ModConfig> ModLoadList = new List<ModConfig> ();

        /// <summary>
        /// 是否额外输出变更的文件
        /// </summary>
        public bool ExtraOutput = false;
        /// <summary>
        /// 已经更新的文件列表
        /// </summary>
        [JsonIgnore]
        public List<string> ChangedFileList = new List<string> ();
        
        /// <summary>
        /// 加载的所有Mod
        /// </summary>
        [JsonIgnore]
        public List<ModInfo> ModInfoList = new List<ModInfo> ();

        [JsonIgnore]
        public Dictionary<string, JObject> NeedUpdateFiles = new Dictionary<string, JObject>();


        public class ModConfig
        {
            public string Key;
            public bool Enable = true;
        }
    }
}
